5 !1p Sample PrtDrvGen2 !2p Parameters If the following strings are met in a command they are translated: ^nnn constant binary (hex) byte (nnn = octal no, n = 0-7) e.g. ^33 ^pn binary (hex) byte e.g. ^p0 ^dn word/byte, ASCII e.g. ^d1 = ^p1 as "DDD" ^wn word, ASCII e.g. ^w0 = ^p0 * 256 + ^p1 as "DDDDD" ^an add ^pn to byte following and store in ^p7. Retrieve by ^p7 or ^d7. E.g. ^a4^12 (^p7 := ^p7 + ^p4 + 10) ^sn as ^an, but subtraction. E.g. ^s4^15 (^p7 := ^p7 - ^p4 - 13) (16 bit signed arithmetic used internally) ^f0 change format for ^dn and ^wn e.g. ^f0^244 is a 4 digit hex string "DDDD", because ^244 octal = 16*10 + 4 ^f1 or ^f2 (see commands 342 and 343) See description of individual commands for contents of parameters. If a standard Amiga printer command has numeric parameters, they will go into ^p0, ^p1 etc. See also the file PDG.doc. Use right-Amiga-X and right-Amiga-Q for gadget field editing. Remember to hit RETURN after changing a field. !3p Info PrtDrvGen 2.3a © 25-Jun-1987 Jørgen Thomsen Compuserve: 71310,2206 Plink/GEnie: J.THOMSEN This is shareware, not a public domain program. Fee of $10 (DKr 75) requested from each user. Add $5 (DKr 25) for driver source (TDI Modula-2) & utilities. 10623 E. 66th S. #366 | Johnstrups Allé 4, 2.tv. Tulsa, OK 74133 | DK-1923 Frederiksberg C U.S.A. | DENMARK, Europe ----------------------|--------------------------- until 30-Sep-1987 | Postgiro 5 30 71 63 or cash !4p 10 Use ASCII text file as input The file .dat in the current directory will be used as input for this program. After it has been read, you may change the . When exiting the program the changed parameters will be stored in the file .dat and the previous .dat will be renamed to .bak. Never embed SPACEs in the driver name. E.g. = EPSON, file names: EPSON.dat, EPSON.bak. Decode existing driver The current directory is searched for a file . If not found the file DEVS:printers/ will be decoded and many of the parameters for this program will be found. You must add the remaining, especially those for the graphics. The parameters will be stored in the .dat file. For subsequent runs of this program this option will be faster than option A above. !5p 0899 0655 0EE0 0A30 %1w Version The version number should be 33 for AmigaDOS 1.2. It will be forced to that value, if you want the extended character set of characters from 160 to 255. ---------------------------------------------------------------------------- About this program: The technical reference manual of your printer is a must to make a driver. There are 349 parameters and command strings to fill in, but don't despair. If you are decoding an existing driver many of them will already be OK. You generally don't need to fill in parameters, you don't know how to use (yet), but apply a little common sense. Don't specify the printer class to be a graphics printer if you don't fill in the graphics command strings etc. You may stop the program and resume it later by selecting the "Save parame- ters only" item from the "Done" menu. When resuming, you select option A in the initial window. (The parameter headers will be written to the .dat file) %2w Revision This is for your very own use %3b Printer Class 0: alphanumeric (text) printer only 1: prints text and graphics 2: prints text and colors 3: prints text and graphics and colors %4b Color Class Specifies which basic colors your printer uses for printing different colors Subtractive colors 1: Black and White only 2: Yellow/Magenta (shade of red)/Cyan (shade of blue) 3: black "ribbon" for Black/White prints, Yellow/Magenta/Cyan for color prints 4: Black/Yellow/Magenta/Cyan available at the same time Additive colors 9: as 1 10: Blue/Green/Red 11: as 3, but colors White/Black and Blue/Green/Red 12: White/Blue/Green/Red %5b2 Invert black & white prints Some printers (e.g. Quadjet) uses the subtractive colors for black and white and the additive ones for color 0: don't do anything 1: turn black into white and white into black %6b No of Pica size chars on Narrow Tractor This value normally is 80. It is important to specify this correctly, because the scaling of prints uses this as a baseline for computing the size %7b No of character sets This should be the number of different character sets your printer supports. %8l No of seconds before timeout Generally 30 The Amiga will wait for this number of seconds before it decides, that there must be something wrong with the printer and puts up a requester. %9w Pica size (SHORP0, 0.01 Chars Per Inch) This size is generally 1000 (10 characters per inch) %10w Elite size (SHORP2, 0.01 Chars Per Inch) This size is generally 1200 (12 characters per inch) %11w Fine size (SHORP4, 0.01 Chars Per Inch) This size varies. Preferences shows 1500 (15 characters per inch), but some printers support 1670 (16.7 CPI) or even 2000 (20 CPI). It depends upon which control codes you specify in the SHORP4 parameter below. %12w US Letter, Width (0.01 inch) Generally 800 (8 inches) This and the following parameters specifies the area of the paper, that your printer is able to print on, not the actual dimensions, which may be slightly larger e.g. 8.5 inches for US Letter / Legal. You may specify whatever dimensions you want. The names specified here corresponds to the fields of Preferences. %13w US Letter, Length (0.01 inch) Generally 1100 (11 inches) %14w US Letter, Lines to skip at perforation at 6 LPI Often 6 At 8 lines per inch this number will be scaled by 8/6. This value is only used, when Preferences specifies Fanfold. It is 0 in case of Single Sheet. %15S US Letter, RIN (2nd string, after delay and standard setup) When the printer is initialized by the RIN command (see below) the driver will set margins, print pitch, proportional spacing etc. This field enables you to specify commands to the printer which changes the standard ones e.g. disabling the proportional spacing in Letter mode because it makes it difficult to make columns etc. The following values are available for inclusion in the command string: ^p0 (or ^d0) Lines per inch ^p1 (or ^d1) Lines per page from Preferences ^p2 (or ^d2) Lines per page computed from paper length specified above ^p3 (or ^d3) Lines to skip at perforation as specified for the form ^p4 (or ^d4) Left margin from Preferences ^p5 (or ^d5) Right margin from Preferences ^p6 (or ^d6) ^p4 - 1 ^p7 (or ^d7) ^p5 + 1 %16w US Legal, Width (0.01 inch) @12 %17w US Legal, Length (0.01 inch) Generally 1400 (14 inches) %18w US Legal, Lines to skip at perforation at 6 LPI @14 %19S US Legal, RIN (2nd string, after delay) @15 %20w Narrow Tractor, Width (0.01 inch) @12 %21w Narrow Tractor, Length (0.01 inch) Generally 0: infinite %22w Narrow Tractor, Lines to skip at perforation at 6 LPI @14 %23S Narrow Tractor, RIN (2nd string, after delay) @15 %24w Wide Tractor, Width (0.01 inch) Often 1320 (13.2 inches) %25w Wide Tractor, Length (0.01 inch) @21 %26w Wide Tractor, Lines to skip at perforation at 6 LPI @14 %27S Wide Tractor, RIN (2nd string, after delay) @15 %28w Custom Paper, Width (0.01 inch) Whatever you want, but chose a value greater than 10 %29w Custom Paper, Length (0.01 inch) %30w Custom Paper, Lines to skip at perforation at 6 LPI %31S Custom Paper, RIN (2nd string, after delay, see below) This paper size is special and no automatic setups are performed as for the paper sizes defined above. The general RIN parameter below is not used, but you may specify a special one later on (parameter 119). When the command RIN is received the following will happen: send the special RIN command string to the printer, wait for 3 seconds for the printer to settle, send this command string to the printer. %32w Partial Line Up/Down length (0.01 printer units at 6 LPI) Specify here how much the paper should move when using the PLU and PLD commands below. This value will only be used, if you use it in the string you specify for the PLU and PLD commands. This value will be scaled by 6/8 for use at 8 LPI %33b Foreground/background color no. 0 (30/40) Specify here, which color value your printer must use in connection with the SFC and SBC commands (e.g. Amiga codes ESC [30m or ESC [40m, here specified as ^[[30m and ^[[40m). These colors are only used for text mode, not for the graphics mode, and you must specify them to be used in the SBC and SFC command strings below %34b Foreground/background color no. 1 (31/41) @33 %35b Foreground/background color no. 2 (32/42) @33 %36b Foreground/background color no. 3 (33/43) @33 %37b Foreground/background color no. 4 (34/44) @33 %38b Foreground/background color no. 5 (35/45) @33 %39b Foreground/background color no. 6 (36/46) @33 %40b Foreground/background color no. 7 (37/47) @33 %41b Foreground/background color no. 8 (38/48) @33 %42b Foreground/background color no. 9 (39/49) @33 %43s RIS ^[c reset This command is used for a total reset of the printer to its default values and it is rarely used. %44s RIN ^[#1 initialize This command will be executed by AmigaDOS just after the driver has been loaded into memory or when Preferences is changed. Specify the reset command of your printer. After this command a delay of 3 seconds is incurred for the printer to settle followed by the following commands below based on Preferences: VERPx 6/8 lines per inch SHORPx pitch selection DENx Near Letter Quality or Draft PROPx proportional spacing (Letter) or not (Draft) SLRM set left and right margin SLPP set form length (lines/page) PERFx set lines to skip at perforation (0, if single sheet) RIN (2nd string) from the paper size definitions above %45s IND ^[D line feed Generally ^12 A (not always correct) line counter is maintained ^p0: line counter before command ^p1: line counter after command DeluxePaint II terminates a print with a number of these. If you don't want these line feeds, you may leave this parameter blank. %46s NEL ^[E return line feed Generally ^15^12 This is used at the end of every line printed. A (not always correct) line counter is maintained ^p0: line counter before command ^p1: line counter after command %47s RI ^[M reverse line feed Move the paper one line backwards. Suggested sequences: 1) the reverse line feed character (sequence) of your printer 2) set printer into reverse line feed mode control code ^12 set printer into normal line feed mode A (not always correct) line counter is maintained ^p0: line counter before command ^p1: line counter after command %48s SGR0 ^[[0m normal character set That is, no boldface, no italics, no underlining, no expanded mode, normal foreground and background colors (if applicable) %49s SGR3 ^[[3m italics on %50s SGR23 ^[[23m italics off %51s SGR4 ^[[4m underline on %52s SGR24 ^[[24m underline off %53s SGR1 ^[[1m boldface on %54s SGR22 ^[[22m boldface off %55s SFC ^[[3nm n=0-9 set foreground color Specify here the printer commands to change the color of the text printed. 3n = 30, 31, 32, 33 - 39. In your command string you may use ^p0 (or ^d0) = 3n ^p1 (or ^d1) = n ^p2 (or ^d2) = value from colors specified in parameters above e.g. ^[r^p2 %56s SBC ^[[4nm n=0-9 set background color Similar to SFC %57s SHORP0 ^[[0w normal pitch Here you would specify commands to set your printer into Pica (generally 10 chars per inch). Here you may also include control codes to disable condensed and enlarged print. %58s SHORP2 ^[[2w elite on Here you would specify commands to set your printer into Elite (generally 12 chars per inch). %59s SHORP1 ^[[1w elite off These commands should tell your printer to turn off Elite pitch mode. %60s SHORP4 ^[[4w condensed fine on %61s SHORP3 ^[[3w condensed fine off These commands should tell your printer to turn off Condensed Fine pitch. If no such command is available, then tell it to select the normal pitch as in SHORP0. %62s SHORP6 ^[[6w enlarged on Control codes for selecting enlarged characters. Quite often the characters will be enlarged 2 or 3 times horizontally, the height remaining the same. %63s SHORP5 ^[[5w enlarged off %64s DEN6 ^[[6"z shadow print on Control codes for printing the characters twice, but slightly moved to the right to create the illusion of a shadow. Often the same as boldface. %65s DEN5 ^[[5"z shadow print off %66s DEN4 ^[[4"z doublestrike on If you want a very black character, you may instruct the printer to print each character twice. %67s DEN3 ^[[3"z doublestrike off %68s DEN2 ^[[2"z near letter quality on If you always want proportionally spaced characters in Near Letter Quality mode, you may add the proper control codes to the codes selecting Near Letter Quality, that you specify here. %69s DEN1 ^[[1"z near letter quality off %70s SUS2 ^[[2v superscript on Superscript is used mainly in math formulas e.g. x². %71s SUS1 ^[[1v superscript off %72s SUS4 ^[[4v subscript on Subscript is used mainly in math formulas e.g. x . ¹ %73s SUS3 ^[[3v subscript off %74s SUS0 ^[[0v normalize the line Used for turning superscript or subscript off and return to the normal position of the line. %75s PLU ^[L partial line up ^p0: ^p1 * 6 / 8 ^p1: partial line up/down length from parameter 32 Difference between superscript and partial line up: Superscript Partial Line Up 22222 XXXXXXXX²²²²² XXXXXXXXXX----- ------------- ---------- Specify here the command to move the paper backwards or printhead up. If your printer is inable to do this, leave this blank and the command will be implemented as superscript. %76s PLD ^[K partial line down Similar to Partial Line Up %77s FNT0 ^[(B US character set Command to change the character set of the printer to the standard US character set. Doesn't work with AmigaDOS 1.2 (!!!), but the following character set commands should work. You might instead decide to use one of the EXTEND commands later on. %78s FNT1 ^[(R French character set %79s FNT2 ^[(K German character set %80s FNT3 ^[(A UK character set %81s FNT4 ^[(E Danish I character set %82s FNT5 ^[(H Swedish character set %83s FNT6 ^[(Y Italian character set %84s FNT7 ^[(Z Spanish character set %85s FNT8 ^[(J Japanese character set %86s FNT9 ^[(6 Norwegian character set %87s FNT10 ^[(C Danish II character set %88s PROP2 ^[[2p proportional spacing on Command to put the printer into proportional spacing mode e.g. each character occupies only the needed space on the paper just as in books and newspapers. It makes a printed text look better, but makes it difficult to make columns. When Letter quality is selected in Preferences proportional spacing is selected, too. %89s PROP1 ^[[1p proportional spacing off You may insert this printer command string in the "RIN (2nd string)" parameters of the paper definition, if you don't want proportional spacing in Letter mode. %90s PROP0 ^[[0p proportional spacing clear The purpose of this command is possibly the inverse of the TSS command following e.g. reinstate the default proportional spacing offset %91s TSS ^[[n E set proportional spacing offset Minimum space between characters. You may find, that with proportional spacing the printer will print the characters too close to or too far away from each other. This command enables you to alter the standard minimum spacing between characters applied by the printer. %92s JFY5 ^[[5 F auto left justify The printer should make the lines flush with the left margin %93s JFY7 ^[[7 F auto right justify The printer should make the lines flush with the right margin %94s JFY6 ^[[6 F auto full justify The printer should make the lines flush with both left and right margin %95s JFY0 ^[[0 F auto justify off Disable the auto justification. This will normally mean, that the printer will print the following lines flush with the left margin %96s JFY3 ^[[3 F letter space, justify I am uncertain as to what this command shall accomplish. Some printers may support it %97s JFY1 ^[[1 F word fill, auto center This command should make the printer center each line on the paper within the current margins %98s VERP0 ^[[0z 1/8" line spacing After this command the printer should print 8 lines per inch %99s VERP1 ^[[1z 1/6" line spacing After this command the printer should print 6 lines per inch %100s SLPP ^[[nt set form length to n lines ^p0: the number of lines or current form length (if n = 0) ^p1: current no of lines to skip at perforation ^p2: ^p0 - ^p1 ^p3: ^p0 * 6 / 8 (for 1/6 inch specification ) %101s PERF ^[[nq perforation skip n (n > 0) ^p0: no of lines to skip around the perforation on fanfold paper %102s PERF0 ^[[0q perforation skip off %103s LMS ^[#9 left margin set %104s RMS ^[#0 right margin set %105s TMS ^[#8 top margin set ^p0: no of lines to skip at perforation ^p1: no of lines per page ^p2: ^p1 - ^p0 ^p3: line counter (may not be correct) %106s BMS ^[#2 bottom margin set @105 %107s STBM ^[[Pn1;Pn2r set top & bottom margins @105 %108s SLRM ^[[Pn1;Pn2s set left & right margins Some printers may need to have the printhead positioned at the current left margin in order to execute this command. You must then include a carriage return (^15) as the first character in the command string. ^p0 (or ^d0) the Pn1 parameter (leftmost position to be used for printing) ^p1 (or ^d1) the Pn2 parameter (rightmost position to be used for printing) ^p2 (or ^d2) ^p0 - 1 (some printers may need this value) ^p3 (or ^d3) ^p1 + 1 ( ------------ ) %109s CAM ^[#3 clear margins ^p0: 1 ^p1: * ^p2: 0 ^p3: ^p1 + 1 Internal value of current left and right margins set to ^p0 and ^p1 %110s HTS ^[H set horizontal tab %111s VTS ^[J set vertical tab %112s TBC0 ^[[0g clear horizontal tab %113s TBC3 ^[[3g clear all horizontal tabs ^p0: Current right margin - current left margin + 1 (no. of chars) ^p1: Current no. of lines on one page %114s TBC1 ^[[1g clear vertical tab %115s TBC4 ^[[4g clear all vertical tabs @113 %116s TBCALL ^[#4 clear all horizontal & vertical tabs @113 %117s TBSALL ^[#5 set default tabs ^p0: Current right margin - current left margin + 1 (no. of chars) ^p1: Current no. of lines on one page These tab positions should be 3, 6, 9, 12, 15, 18, 21 etc. %118s EXTEND ^[[Pn"x extended commands This string will prefix all the command strings found below in parameters 120 - 129. Leave it blank, if no general prefix is wanted. The driver will behave in a special way when the following EXTEND commands are written to the printer ESC [[255"x ESC [[27"x ESC [[50"x ........... ESC [[255"x The character values 27 (ESC), 50 (P) etc. are sent to the printer as is and not interpreted in any way. The 255's encloses the EXTEND commands with the values to be sent ESC [254"x Send the binary byte with value 255 to the printer. If within a sequence enclosed by 255's as above the value 254 will be sent ESC [253"x Enter the driver into debug mode (same as parameter 344, value 1). If the driver already is in debug mode, it will exit from this mode. %119S RIN (custom paper, 1st string) This is the command string sent to the printer instead of the normal RIN string, when Custom paper size is selected in Preferences (see parameter 19) Contents of ^p parameters as for the normal RIN command %120S 1. available for EXTEND ^[[1"x You may specify a command string to send to the printer for a special feature not covered by the standard Amiga commands e.g. start printing in triple expanded mode %121S 2. available for EXTEND ^[[2"x @120 %122S 3. available for EXTEND ^[[3"x @120 %123S 4. available for EXTEND ^[[4"x @120 %124S 5. available for EXTEND ^[[5"x @120 %125S 6. available for EXTEND ^[[6"x @120 %126S 7. available for EXTEND ^[[7"x @120 %127S 8. available for EXTEND ^[[8"x @120 %128S 9. available for EXTEND ^[[9"x @120 %129S 10. available for EXTEND ^[[10"x @120 %130b2 Define extended ASCII characters 0: no, I want to use the default values 1: yes, I want to define the characters from 160 - 255 myself, because my printer is able to print these characters when I tell it how to in the following commands Note! The only "^" parameters, you may use for these character definitions are the "^nnn" and "^^" (^^ to give a single ^). If you need to write a sequence e.g."^1" followed by "2", then do not write "^12", but "^0012". If you define a character substitution, which occupies more than one character position, you may confuse your word processor. %131x2 ASCII character 160: "Nonbreak sequence/space" This is a space character to be used in word processing when you don't want a line break between two words %132x2 Character value 161: ¡ %133x2 Character value 162: ¢ %134x2 Character value 163: £ %135x2 Character value 164: ¤ %136x2 Character value 165: ¥ %137x2 Character value 166: ¦ %138x2 Character value 167: § %139x2 Character value 168: ¨ %140x2 Character value 169: © Copyright, "c^10O" or "(c)" when this character is not available %141x2 Character value 170: ª %142x2 Character value 171: « %143x2 Character value 172: ¬ %144x2 Character value 173: ­ %145x2 Character value 174: ® %146x2 Character value 175: ¯ %147x2 Character value 176: ° %148x2 Character value 177: ± %149x2 Character value 178: ² %150x2 Character value 179: ³ %151x2 Character value 180: ´ %152x2 Character value 181: µ %153x2 Character value 182: ¶ %154x2 Character value 183: · %155x2 Character value 184: ¸ %156x2 Character value 185: ¹ %157x2 Character value 186: º %158x2 Character value 187: » %159x2 Character value 188: ¼ %160x2 Character value 189: ½ %161x2 Character value 190: ¾ %162x2 Character value 191: ¿ %163x2 Character value 192: À %164x2 Character value 193: Á %165x2 Character value 194: Â %166x2 Character value 195: Ã %167x2 Character value 196: Ä %168x2 Character value 197: Å Danish vowel, written as "AA", if this character is not available %169x2 Character value 198: Æ Danish vowel, written as "AE", if this character is not available %170x2 Character value 199: Ç %171x2 Character value 200: È %172x2 Character value 201: É %173x2 Character value 202: Ê %174x2 Character value 203: Ë %175x2 Character value 204: Ì %176x2 Character value 205: Í %177x2 Character value 206: Î %178x2 Character value 207: Ï %179x2 Character value 208: Ð %180x2 Character value 209: Ñ %181x2 Character value 210: Ò %182x2 Character value 211: Ó %183x2 Character value 212: Ô %184x2 Character value 213: Õ %185x2 Character value 214: Ö German and Swedish character, "OE" if not available %186x2 Character value 215: × %187x2 Character value 216: Ø Danish vowel, written as "O^10/", if this character is not available %188x2 Character value 217: Ù %189x2 Character value 218: Ú %190x2 Character value 219: Û %191x2 Character value 220: Ü German y, "ue" when this character is not available %192x2 Character value 221: Ý %193x2 Character value 222: Þ %194x2 Character value 223: ß German character, "ss" when this character is not available %195x2 Character value 224: à %196x2 Character value 225: á %197x2 Character value 226: â %198x2 Character value 227: ã %199x2 Character value 228: ä German and Swedish character, written as "ae" if not available %200x2 Character value 229: å Danish vowel, "aa" when this character is not available %201x2 Character value 230: æ Danish vowel, "ae", when this character is not available %202x2 Character value 231: ç %203x2 Character value 232: è %204x2 Character value 233: é %205x2 Character value 234: ê %206x2 Character value 235: ë %207x2 Character value 236: ì %208x2 Character value 237: í %209x2 Character value 238: î %210x2 Character value 239: ï %211x2 Character value 240: ð %212x2 Character value 241: ñ %213x2 Character value 242: ò %214x2 Character value 243: ó %215x2 Character value 244: ô %216x2 Character value 245: õ %217x2 Character value 246: ö German and Swedish character, "oe" when not available %218x2 Character value 247: ÷ %219x2 Character value 248: ø Danish vowel, "o^10/" when this character is not available %220x2 Character value 249: ù %221x2 Character value 250: ú %222x2 Character value 251: û %223x2 Character value 252: ü %224x2 Character value 253: ý %225x2 Character value 254: þ %226x2 Character value 255: ÿ %227b2 One char graphics on/off printer 0: the printer must have an escape sequence of characters in order to switch into graphics mode 1: the printer switches into/out of graphics mode by receiving a single character e.g. 03 hex for many printers e.g. Citizen. Fill in the following parameter in this case %228S2 Character to switch on/off graphics Only relevant if parameter 227 is 1. e.g ^03 for many printers %229b2 (Reserved for extensions) %230w Density 1 (Draft/6), No of raster rows (pins) on each pass of print head Typical values: 1 many laser/inkjet printers (Laser: See "Dot or vector graphics") 7 some 8 pin dot matrix printers 8 most 8 pin dot matrix printers (or 24 pin printers in 8 pin mode) 9 some 9 pin dot matrix printers 24 most 24 pin dot matrix printers This parameter specifies, how many fine, horizontal lines may be printed simultaneously by one pass of the print head. It relates to the "Bits used in each byte" parameter below. In order to specify this and all the following parameters correctly, you must read the Technical Reference Manual of your printer ! %231w2 Density 1, Total no of passes to get higher vertical density Value between 1 and 8. Related to the "Multipass lines termination" command string below if > 1. Some printers (e.g. Epson) has a paper moving command, which allows the printer to move the paper just a fraction of an inch. This can be used to make a double (or more) print density in the following way (8 pin printer assumed) e.g. for value 2: Send graphics data, move paper ½ dot, send graphics data, move paper 7½ dot Repeat. Note, that memory requirements really increases with this parameter. This feature may also be used for other very special printers (e.g. some Tektronix and Diablo C-150). %232l Density 1, Max dots in X (width) direction This parameter is computed as the width of the Narrow Tractor (parm. 20) times the Dots per inch parameter in X direction below divided by 100. The driver will compute the actual value based on this value and margins. E.g. 800 * 120 / 100 = 960 %233l Density 1, Max dots in Y (vertical) direction (0=infinite) Most often 0, infinite, but certain printers/plotters may have restrictions %234w Density 1, Dots pr inch in X (width) direction This parameter must be specified in close connection with the "prefix" command strings below, because in those strings you probably will specify to the printer, which density it must use %235w Density 1, Dots pr inch in Y (vertical) direction This parameter specifies the number of dots per inch your printer is capable of printing in the vertical direction. If the "No of passes to get higher vertical density" parameter above is greater than 1, this parameter probably must be the normal value for your printer times that parameter. %236b Density 1, Storage of dots in buffer row/col 0: row by row (some inkjet and laser printers) 1: column by column (most dot matrix printers) If your printer apparently prints a picture, but it is not recognizable, then try changing this parameter to the opposite value %237b Density 1, Fill buffer bytes from right/left, left/right 0: from right (least significant bit) to left (most significant bit) 1: in the opposite direction If your circles printed out look like __ __ \ / / \ \ / and not as / \ / \ \ / /__ \ \__/ then use the opposite value of this parameter. %238b2 Density 1, No of bits used in each byte Generally 8. Relates to the next parameter. Some printers (e.g. Toshiba) use less than 8 bits in each byte sent as graphics data. Specify here the number of bits used. E.g. 9 pin printers should also specify the value 8, because the first of the two bytes for the 9 pins is totally filled. %239b2 Density 1, Lower or upper bits and zero or one fill (0,2/1,3) Generally 0. 0: use rightmost (least significant bits) and fill unused with zero bits 1: use leftmost (most significant bits) and fill unused with zero bits 2: use rightmost (least significant bits) and fill unused with one bits 3: use leftmost (most significant bits) and fill unused with one bits This parameter is only relevant, if parameter 238 is less than 8. You must specify where the unused bits are positioned in each byte and how they should be initialized. %240b2 Density 1, Discard all data for one color, if not used 0: don't discard 1: discard In stead of sending a lot of data to the printer which specifies that no dots of a specified color should be printed, the driver may just as well discard these data. However, some printers (e.g. Quadjet) need these data, so the initial value to use should be 0. After you have managed to print nice pictures on your printer, you may change this parameter to 1 and test, if the pictures still are printed OK. You may experience that the the printing of pictures becomes slightly faster. %241b2 Density 1, Horisontally adjacent dots not possible The current driver (PrtDrv.lod rev. 22) does not use this parameter. 0: possible 1: not possible %242w Density 1, Pixel height divisor ( * 100) Value: most often 100 or 120 or value in the range 100 - 120 100: will give you a monitor image with oval circles 120: will give you a picture with true circular circles and square squares from DPaint and Aegis Draw pictures If the picture as most often is the case fills your entire monitor screen, the height of each pixel is 1.2 * its width in 320 * 200 low resolution mode. Some drawing programs believe, that the height and width are equal. Use this parameter to adjust the ratio. %243b Density 1, Print black [white] as no. Most often 4 Colors should for ribbon printers be printed in the sequence lighter colors first in order to preserve the ribbon. This sequence number also specifies the sequence in which the color data are sent to the printer, which for some printers is important (e.g. Quadjet). In case you are using a black and white only printer, the sequence will be forced. You don't need to fill it in. Remember, the sequence numbers for the four colors must be some combination of 1,2,3,4 with no duplicate numbers. %244b Density 1, Print yellow [blue] as no. Most often 1 (Red, Green, Blue printers: 3 ) %245b Density 1, Print magenta (redish) [green] as no. Most often 2 %246b Density 1, Print cyan (blueish) [red] as no. Most often 3 (Red, Green, Blue printers: 1 ) %247S Density 1, Color black [white] prefix ^p2 = No of dot columns ^p3 = No of data bytes ^p0 = ^p2 / K ^p1 = ^p2 - ^p0 x K ^p4 = Pass no (0 - 7) for multipass ^p5 = ^p2 / bits per byte ^p6 = ^p3 / K ^p7 = ^p3 - ^p6 x K (K = 128 or 256, dependent on the Special options field below) The data sent to the printer for each color will be This command string data for the actual graphics The contents of this command string could be something like (Epson codes): ^15 ^[r^0 ^[*^0^p1^p0 Carriage Return Print color Density and amount of graphics data %248S Density 1, Color yellow [blue] prefix @247 %249S Density 1, Color magenta [green] prefix @247 %250S Density 1, Color cyan [red] prefix @247 %251S Density 1, Init graphics before delay of 3 seconds This and the following command string are very similar in nature to the RIN command string specified previously i.e. they must contain printer commands which should be used while printing an entire picture. E.g. set printer in unidirectional mode; specify proper spacing, so that white streaks between each pass of the print head is avoided. The command string is split into two with a delay of 3 seconds in between, because some printers may need a full reset with time to settle. %252S Density 1, Init graphics after delay See previous parameter %253S Density 1, Each single buffer termination Most often Carriage Return, Line Feed ^15^12, but for printers which uses a one character graphics on/off escape character this character should be inserted as the first character e.g. ^3^15^12. If the higher density by multipass lines option is used, this command string would make the paper move up, not an entire Line Feed, but only the part of line still remaining %254S Density 1, Finish graphics dump Some people want a Form Feed (^14) here. %255S2 Density 1, Multipass lines termination Related to the parameter above about getting higher density by several passes. Only relevant if that parameter has a value larger than 1. This command string is used to forward the paper e.g. 1/2 dot size. %256b2 Density 1, Dot or vector graphics mode 0: most printers, the bitmap of graphics generated by the Amiga is sent to the printer 1: some laser printers/plotters e.g. Kyocera F-1010, each scan line in the bitmap is analyzed and converted into vector coordinates, which may be included in a command string or printed. The color prefixes would then contain a vector drawing command e.g. DRAW ^d0, ^d1, ^d2,^d3; or MOVE ^d0, ^d1; DRAW ^d4, 0; which would draw a line from (^d0,^d1) to (^d2, ^d3). The X-values are ^d0, ^d2 (left margin = 0), the Y-values ^d1 (= ^d3, top margin = 0) specified in dots. Length of line in ^d4. %257w2 Density 1, Special options Generally all zero except for special printers. Add values if used. 1: use 7+7 bit format for lengths in graphics prefix (i.e. K = 128) 2: don't set pitch and left/right margins just before graphics dump 4: don't set line spacing to 6 or 8 lines per inch after graphics dump 8: (not used) 16: (not used) etc. %258w Density 2 (Draft/8), No of raster rows (pins) on each pass of print head @230 %259w2 Density 2, No of passes to get higher vertical density @231 %260l Density 2, Max dots in X direction @232 %261l Density 2, Max dots in Y direction (0=infinite) @233 %262w Density 2, Dots pr inch in X direction @234 %263w Density 2, Dots pr inch in Y direction @235 %264b Density 2, Storage of dots in buffer row/col @236 %265b Density 2, Fill buffer bytes from right/left, left/right @237 %266b2 Density 2, No of bits used in each byte @238 %267b2 Density 2, Upper or lower bits @239 %268b2 Density 2, Discard all data for one color, if not used @240 %269b2 Density 2, Horisontally adjacent dots not possible @241 %270w Density 2, Pixel height divisor @242 %271b Density 2, Print black [white] as no. @243 %272b Density 2, Print yellow [blue] as no. @244 %273b Density 2, Print magenta (redish) [green] as no. @245 %274b Density 2, Print cyan (blueish) [red] as no. @246 %275S Density 2, Color black [white] prefix @247 %276S Density 2, Color yellow [blue] prefix @248 %277S Density 2, Color magenta [green] prefix @249 %278S Density 2, Color cyan [red] prefix @250 %279S Density 2, Init graphics before delay @251 %280S Density 2, Init graphics after delay @252 %281S Density 2, Each single buffer terminated by @253 %282S Density 2, Finish graphics dump @254 %283S2 Density 2, Multipass lines terminated by @255 %284b2 Density 2, Dot or vector graphics @256 %285w2 Density 2, Special options @257 %286w Density 3 (Letter/6), No of raster rows (pins) on each pass of print head @230 %287w2 Density 3, No of passes to get higher vertical density @231 %288l Density 3, Max dots in X direction @232 %289l Density 3, Max dots in Y direction (0=infinite) @233 %290w Density 3, Dots pr inch in X direction @234 %291w Density 3, Dots pr inch in Y direction @235 %292b Density 3, Storage of dots in buffer row/col @236 %293b Density 3, Fill buffer bytes from right/left, left/right @237 %294b2 Density 3, No of bits used in each byte @238 %295b2 Density 3, Upper or lower bits @239 %296b2 Density 3, Discard all data for one color, if not used @240 %297b2 Density 3, Horisontally adjacent dots not possible @241 %298w Density 3, Pixel height divisor @242 %299b Density 3, Print black [white] as no. @243 %300b Density 3, Print yellow [blue] as no. @244 %301b Density 3, Print magenta (redish) [green] as no. @245 %302b Density 3, Print cyan (blueish) [red] as no. @246 %303S Density 3, Color black [white] prefix @247 %304S Density 3, Color yellow [blue] prefix @248 %305S Density 3, Color magenta [green] prefix @249 %306S Density 3, Color cyan [red] prefix @250 %307S Density 3, Init graphics before delay @251 %308S Density 3, Init graphics after delay @252 %309S Density 3, Each single buffer terminated by @253 %310S Density 3, Finish graphics dump %311S2 Density 3, Multipass lines terminated by @255 @254 %312b2 Density 3, Dot or vector graphics @256 %313w2 Density 3, Special options @257 %314w Density 4 (Letter/8), No of raster rows (pins) on each pass of print head @230 %315w2 Density 4, No of passes to get higher vertical density @231 %316l Density 4, Max dots in X direction @232 %317l Density 4, Max dots in Y direction (0=infinite) @233 %318w Density 4, Dots pr inch in X direction @234 %319w Density 4, Dots pr inch in Y direction @235 %320b Density 4, Storage of dots in buffer row/col @236 %321b Density 4, Fill buffer bytes from right/left, left/right @237 %322b2 Density 4, No of bits used in each byte @238 %323b2 Density 4, Upper or lower bits @239 %324b2 Density 4, Discard all data for one color, if not used @240 %325b2 Density 4, Horisontally adjacent dots not possible @241 @239 %326w Density 4, Pixel height divisor @242 %327b Density 4, Print black [white] as no. @243 %328b Density 4, Print yellow [blue] as no. @244 %329b Density 4, Print magenta (redish) [green] as no. @245 %330b Density 4, Print cyan (blueish) [red] as no. @246 %331S Density 4, Color black [white] prefix @247 %332S Density 4, Color yellow [blue] prefix @248 %333S Density 4, Color magenta [green] prefix @249 %334S Density 4, Color cyan [red] prefix @250 %335S Density 4, Init graphics before delay @251 %336S Density 4, Init graphics after delay @252 %337S Density 4, Each single buffer terminated by @253 %338S Density 4, Finish graphics dump @254 %339S2 Density 4, Multipass lines terminated by @255 %340b2 Density 4, Dot or vector graphics @256 %341w2 Density 4, Special options @257 %342x2 File name for extra data (^f1) Allows a number of raw bytes to be sent to the printer (< appr. 16000). Use it for e.g. defining special characters or special commands. Any byte value may be contained in the data, which must be stored in a file in the format XX XX XX XX XX ... with XX being the hexadecimal value of one byte. Make the file by e.g. an editor and terminate it by one blank line. The data file need not be present when using the driver. The PrtDrvGen stores the data in the driver itself. To send the data to the printer insert ^f1 as the first command in a command string e.g. in parameters 15, 19, 23, 27. When decoding a driver with data, the data will be stored in the current directory in a file called .hex1. %343x2 File name for extra data (^f2) Similar to ^f1 %344w2 System Parameter (Reserved for internal use) 0: the driver executes in normal mode 1: the driver executes in debug mode with the following hexadecimal dumps D: ^p0,^p1 ..... ^p7,Amiga command code, (sequence as in Enhancer table) R: color,x,y,code (4 bytes each) entry to graphics procedure Render (excl. code=1: render single pixel) B: RowSize (2), Bufsize (4), No Of Buffers (1) memory used for each color row, an entire buffer and 01 or 02 dependent on the use of double buffering. I: Printer Class (1), Color Class (1), Max Print Columns (1), No of Character Sets (1), Number of Rows (2), Max X Dots (4), Max Y Dots (4), X Dots/Inch (2), Y Dots/Inch (2) If the graphics dump routine detects an error, it will be printed as X: xx xx xx xx %345w2 (0. Reserved for future extensions) %346w2 (1. Reserved for future extensions) %347w2 (2. Reserved for future extensions) %348w2 (3. Reserved for future extensions) %349w2 (4. Reserved for future extensions)